package cn.suchan.jianzhi.q1_array;

/**
 * 知识点：数组
 * 题目描述
 * 在一个二维数组中（每个一维数组的长度相同），
 * 每一行都按照从左到右递增的顺序排序，
 * 每一列都按照从上到下递增的顺序排序。
 * 请完成一个函数，输入这样的一个二维数组和一个整数，判断数组中是否含有该整数。
 *
 * @author suchan
 * @date 2019/05/23
 */
public class Solution {

    public boolean find(int target, int[][] array) {
        int rows = array.length;
        int cols = array[0].length;

        int row = 0;
        int col = cols - 1;

        if (array.length > 0) {
            while (row < rows && col >= 0) {
                int temp = array[row][col];
                if (target == temp) {
                    return true;
                } else if (target < temp) {
                    --col;
                } else if (target > temp) {
                    ++row;
                }
            }
            return false;
        }
        return false;
    }

    public static void main(String[] args) {
        Solution solution = new Solution();
        int array[][] = {{1, 2, 3, 4}, {2, 3, 4, 5}, {3, 4, 5, 6}};
        int target = 6;
        System.out.println(solution.find(target, array));

        /*int i = 3,j;
        outer:while (i > 0){
            j = 3;
            inner:while (j > 0){
                if (j < 2){
                    break outer;
                }
                System.out.println(j + " and " + i);
                j--;
            }
            i--;
        }*/
    }
}
